package edu.lnu.ums.dal;

import edu.lnu.ums.entities.core.UMSObject;
import java.util.List;
import javax.persistence.EntityManagerFactory;

public interface IGenericUMSObjectDAO<T extends UMSObject> extends IConcurrentAccessGenericDAO<T> {

    void deleteWithChildren(UMSObject ums);
        
    UMSObject getRoot(EntityManagerFactory factory);

    void changeParent(UMSObject child, UMSObject newParent);

    List<UMSObject> getChildren(UMSObject object);
}
